// axios二次封装
// 目的: 利用axios的请求,响应拦截器
// 请求拦截器:在请求头中携带token
// 响应拦截器:简化服务器拦截的数据,处理http的网络错误
import axios from "axios";
import  useUserStore from "@/store/modules/user"; 

// 创建axios实例
const request = axios.create({
  baseURL: '/api', 
  timeout: 5000 
});

// 请求拦截器
request.interceptors.request.use((config) => {
  let useUser = useUserStore(); 

  // 登录后携带token
  if (useUser.userInfo.token) {
    config.headers.token = useUser.userInfo.token;
  }
  return config;
});

// 响应拦截器
request.interceptors.response.use((response) => {
  return response.data;
}, (error) => {
  // 处理http网络问题
  return Promise.reject(new Error(error.message));
});

export default request;